位置: IT常识 - 正文

我的Vue之旅 11 Vuex 实现购物车

编辑:rootadmin
Vue CartView.vue script 数组的filter函数需要return显式返回布尔值,该方法得到一个新数组。 使用Vuex store的modules方式,注意读取状态的方式 this.$store.state.cart.items 刷新页面后state状态还原,需要用session ... Vue

推荐整理分享我的Vue之旅 11 Vuex 实现购物车,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

CartView.vue script数组的filter函数需要return显式返回布尔值,该方法得到一个新数组。使用Vuex store的modules方式,注意读取状态的方式 this.$store.state.cart.items刷新页面后state状态还原,需要用session保存状态(TODO)axios 发出 get 请求,第二个参数对象的 params 字段值显式使用 JSON.stringify 进行转化,如果不使用会表示成 xxx?items=xxx&items=xxx&items=xxx<script lang="ts">import { defineComponent } from "vue";export default defineComponent({ name: "CartView", components: {}, methods: { deleteItem(id: number) { this.$store.dispatch("del", id); console.log(this.$store.state.cart.items); this.items = this.items.filter((item) => { return item.id != id; // @ return }); }, }, data() { return { days: 29, hours: 8, minutes: 20, discount: 24, items: [ { id: 201, img: "https://www.yuucn.com/wp-content/uploads/2022/11/1669231439-c95cfecc8c3eb08.png", name: "Family", price: 2.99, author: "Tim Sheinman", category: "Puzzle", } ], }; }, computed: { cost() { let total = 0; this.items.forEach((item) => { total += item.price; }); total *= (100 - this.discount) / 100; const res = total.toFixed(2); return res; }, }, created() { this.axios .get("/game/query", { params: { items: JSON.stringify(this.$store.state.cart.items), }, }) .then((response) => { if (!response.data) { console.log("无数据"); return; } this.items = []; response.data.forEach((item: any) => { this.items.push({ id: item.id, img: item.img, name: item.title, price: item.price, author: item.author, category: item.category, }); }); }) .catch((err) => { console.log(err); }); },});</script>

CartView.vue template<template> <div class="m-3"> <div class="text-3xl font-bold text-stone-700"> <b-icon-cart-check class="text-4xl inline-block align-text-top mr-2" ></b-icon-cart-check >My Cart </div> <div class="text-stone-600 mt-4"> Buy everything for <span class="font-bold">${{ cost }}! </span> <span class="font-bold">Save {{ discount }}%!</span> </div> <div class="mt-4 border border-stone-300 rounded-sm"> <div class=" mx-2 h-10 text-center pt-2.5 m-auto mt-2 bg-rose-500 font-bold text-white rounded " > Buy all for ${{ cost }} </div> <div class="mt-2 text-center text-stone-500 text-sm">offer ends in</div> <div class="text-center"> <div class="inline-block m-1"> <div>{{ days }}</div> <div class="text-xs text-stone-500">DAYS</div> </div> <div class="inline-block m-1"> <div>{{ hours }}</div> <div class="text-xs text-stone-500">HOURS</div> </div> <div class="inline-block m-1"> <div>{{ minutes }}</div> <div class="text-xs text-stone-500">MINUTES</div> </div> </div> </div> <div class="mt-4"> <div>includes the following items:</div> <template v-for="(value, index) in items" :key="index"> <div class="mt-3"> <img class="inline-block h-28 rounded-md" :src="https://www.cnblogs.com/linxiaoxu/archive/2022/11/24/value.img" /> <div class="inline-block ml-4"> <div class=""> <span class="font-bold">{{ value.name }}</span> <div class=" ml-2 inline-block text-xs bg-stone-500 rounded-sm px-1 py-0.5 mt-1 text-center text-white " > ${{ value.price }} </div> </div> <div class="text-stone-500 text-sm"> {{ value.author }} </div> <div class="text-stone-500 text-sm"> {{ value.category }} </div> <b-icon-x-square @click="deleteItem(value.id)" class="text-3xl mt-2" ></b-icon-x-square> </div> </div> </template> </div> </div></template>

store/cart.ts

VUE里面的export default 是什么_啊了个呜的博客-CSDN博客

const state = { items: [ // 201, 202, 203, 204 ]}const mutations = { add(state: any, param: number) { if (!state.items.includes(param)) { state.items.push(param) } }, del(state: any, param: number) { if (state.items.indexOf(param) != -1) { state.items.splice(state.items.indexOf(param), 1) } }}const actions = { add(context: any, param: number) { // 可以 {commit} 解构简化 context.commit('add', param) }, del(context: any, param: number) { context.commit('del', param) }}const cart = { state, mutations, actions}export default cartstore/index.tsimport { createStore } from 'vuex'import cart from './cart'export default createStore({ modules: { cart: cart }})

Property ‘$store‘ does not exist on type ‘CreateComponentPublicInstance

在src文件夹下新建文件夹vue.d.ts

// vuex.d.tsimport { ComponentCustomProperties } from '@/vue'import { Store } from 'vuex'declare module '@vue/runtime-core' { // declare your own store states interface State { cart } // provide typings for `this.$store` interface ComponentCustomProperties { $store: Store<State> }}

三种方法实现Vue路由跳转时自动定位在页面顶部

// 跳转后自动返回页面顶部router.afterEach(() => {window.scrollTo(0,0);})我的Vue之旅 11 Vuex 实现购物车

const router = new VueRouter({routes:[...],scrollBehavior () {// return返回期望滚动到的位置的坐标return { x: 0, y: 0 }}})

router.beforeEach((to, from, next) => { // chrome兼容document.body.scrollTop = 0// firefox兼容document.documentElement.scrollTop = 0// safari兼容window.pageYOffset = 0next()})

Golang Ginstructs/game.gopackage structstype Game struct {ID int64 `db:"id" json:"id"`Title string `db:"title" json:"title"`Text string `db:"text" json:"text"`Img string `db:"img" json:"img"`Author string `db:"author" json:"author"`Category string `db:"category" json:"category"`Price float64 `db:"price" json:"price"`}

controller/game.go

package controllerimport ("encoding/json""fmt""github.com/gin-gonic/gin""wolflong.com/vue_gin/structs""wolflong.com/vue_gin/variable")func QueryGame(c *gin.Context) {db := variable.DBitems_ := c.Query("items")var items []int64err := json.Unmarshal([]byte(items_), &items)if err != nil || len(items) == 0 {c.JSON(501, gin.H{"message": "failure items",})c.Abort()return}// fmt.Println(items)stmt := `select id,title,author,category,img,price from game where id in (`for i, v := range items {stmt += fmt.Sprintf("%d", v)if i != len(items)-1 {stmt += ","}}stmt += ")"rows, err := db.Query(stmt)checkError(err)defer rows.Close()var res []structs.Gamefor rows.Next() {var c structs.Gameerr = rows.Scan(&c.ID, &c.Title, &c.Author, &c.Category, &c.Img, &c.Price)checkError(err)res = append(res, c)}c.JSON(200, res)}

router/router.go

新增路由

game := r.Group("/game"){ game.GET("/query", controller.QueryGame)}

Mysql 建表DROP DATABASE VUE;create database if not exists vue;use vue;CREATE TABLE gameblog ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255), text VARCHAR(255), img VARCHAR(255));insert into gameblog(title,text,img) values ("Games of the Month: surrealist solitaire puzzles","What’s that? You need more games? I hear you, anonymous hapi fan.We’ve reached the part of the year when games start coming out fast","https://xiaonenglife.oss-cn-hangzhou.aliyuncs.com/static/pic/2022/11/20221102184434_1.jpg"),("Games of the Month: Puzzles!","Sometimes you need a good puzzle game, just something to throw all of your attention at and ignore anything else going on. Well if that sometime for you is right now, then you’re in luck because in this Games of the Month","https://www.yuucn.com/wp-content/uploads/2022/11/1669231448-c95cfecc8c3eb08.jpg"),("The next hapi Creator Day is July 29th!","I don’t think I’m allowed to make the entire body of this post “Thenext itch.io Creator Day is taking place on Friday July 29th.” I mean it’s true, we are hosting the next itch.io Creator Day on Friday July 29th but I should probably write more here.","https://www.yuucn.com/wp-content/uploads/2022/11/1669231456-c95cfecc8c3eb08.jpg");select * from gameblog;drop table if exists game;CREATE TABLE game ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255), text VARCHAR(255), img VARCHAR(255), author VARCHAR(255) default "", # TODO ID category VARCHAR(255) default "", # TODO ID price decimal(6,2) default 0, web boolean default 0 # TODO 发布时间 # TODO 浏览量 # TODO 评论量 # TODO 热度综合指标);CREATE TABLE tag ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255));CREATE TABLE gametag ( gameid INT, tagid INT);# TODO 外键insert into game(id,title,author,category,text,img,price,web) values(1,"Late Night Mop","","","A haunted house cleaning simulator.","https://www.yuucn.com/wp-content/uploads/2022/11/1669231463-c95cfecc8c3eb08.png",0,0),(2,"an average day at the cat cafe","A haunted house cleaning simulator.","","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231471-c95cfecc8c3eb08.png",0,1),(3,"Corebreaker","A fast-paced action-platform shooter game with roguelike elements.","","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231479-c95cfecc8c3eb08.png",19.99,0),(4,"Atuel","Traverse a surrealist landscape inspired by the Atuel River in Argentina.","","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231487-c95cfecc8c3eb08.png",0,0),(201,"Family","Tim Sheinman","Puzzle","TEST","https://www.yuucn.com/wp-content/uploads/2022/11/1669231439-c95cfecc8c3eb08.png",2.99,0),(202,"Rivals","dreamfeel","Puzzle","TEST","https://www.yuucn.com/wp-content/uploads/2022/11/1669231494-c95cfecc8c3eb08.png",5.99,0),(203,"Conspiracy!","Tim Sheinman","Puzzle","TEST","https://www.yuucn.com/wp-content/uploads/2022/11/1669231502-c95cfecc8c3eb08.png",4.99,0),(204,"Riley & Rochelle","Nolski","Puzzle","TEST","https://www.yuucn.com/wp-content/uploads/2022/11/1669231510-c95cfecc8c3eb08.png",14.99,0);select * from game;insert into tag values(1,"Difficult"),(2,"Fast-Paced");insert into gametag values(3,1),(3,2),(4,1);DELIMITER $$CREATE PROCEDURE gamelist()BEGIN# TODOEND $$DELIMITER ;select a.title,a.text,img,price,web,if(group_concat(c.title separator "#") is null ,"", group_concat(c.title separator "#")) as tag from game a left join gametag b on a.id = b.gameid left join tag c on b.tagid = c.id group by a.id;drop table if exists users;drop table if exists comments;create table users(id int primary key auto_increment,uid varchar(255),name varchar(255),password varchar(255));create table comments(id int primary key auto_increment,uid int,text mediumtext,pid int,date long);insert into users(uid,name,password) values("1001","admin","123456"),("1002","玉米炖萝卜","123456"),("1003","西红柿炒番茄","123456");INSERT INTO comments(id, uid, text, pid, date) VALUES (1, 1003, 'asdmoapsdasopdnopasdopasopdas localstorage', 100, 1666107328334);INSERT INTO comments(id, uid, text, pid, date) VALUES (2, 1003, 'asdmoapsdasopdnopasdopasopdas localstorage', 100, 1666107328836);INSERT INTO comments(id, uid, text, pid, date) VALUES (3, 1003, 'asdmoapsdasopdnopasdopasopdas localstorage', 100, 1666107329459);INSERT INTO comments(id, uid, text, pid, date) VALUES (4, 1001, 'asdmoapsdasopdnopasdopasopdas localstorage', 100, 1666107331864);INSERT INTO comments(id, uid, text, pid, date) VALUES (5, 1001, 'asdmoapsdasopdnopasdopasopdas localstorage', 100, 1666107332720);INSERT INTO comments(id, uid, text, pid, date) VALUES (6, 1002, '你好', 100, 1666107337646);select * from users;select * from comments;select * from game;drop table if exists posts;create table posts(id int primary key auto_increment,bgcolor varchar(7),textcolor varchar(7),headimg varchar(255),videosrc varchar(255),imgs mediumtext,html mediumtext);insert into posts(id,bgcolor,textcolor,headimg,videosrc,imgs,html) values(100,"#E8E1BC","#2f5b71","https://www.yuucn.com/wp-content/uploads/2022/11/1669231517-c95cfecc8c3eb08.png","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231529-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231537-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231544-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231552-c95cfecc8c3eb08.png"]','<div class="m-4 text-xl font-bold"> A sound reverberated from beyond the ocean. </div> <div class="ml-4 mt-6"> At the edge of a desolate island, pick up what the waves wash ashore to make instruments. Use those instruments to answer the echoes heard from beyond the ocean. In this hand-drawn world, enjoy a soothing soundscape formed by waves, footsteps and the sounds made from things washed up. </div> <img src="https://www.yuucn.com/wp-content/uploads/2022/11/1669231560-c95cfecc8c3eb08.gif" class="w-full mt-6 px-4" /> <div class="ml-4 mt-6"> Resonance of the Ocean is a short adventure game you can play in 10 ~ 30min. This game was made in the 22nd unity1week, a Japanese game jam event. This version is updated with an English localization and with small changes. In unity1week, this game placed 4th in the overall ranking, and 1st for art and sound. </div> <div class="m-4 mt-6 text-xl font-bold">Controls</div> <div class="ml-4 mt-6"> This game only supports keyboard controls. <ul class="list-disc ml-6 mt-2"> <li>Arrow Keys: Move</li> <li>Space Key(Or ZXC): Confirm</li> <li>ZXC Keys: pick up, replace, throw, search</li> </ul> </div> <div class="m-4 mt-6 text-xl font-bold">Save Function</div> <div class="ml-4 mt-6"> There is no save function available as the time required to complete the game is short (10 ~ 30 min). Thank you for your understanding. </div>'),(101,"#FFFFFF","#000000","https://www.yuucn.com/wp-content/uploads/2022/11/1669231569-c95cfecc8c3eb08.png","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231578-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231586-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231594-c95cfecc8c3eb08.png"]','<div class="ml-4 mt-6"> The past and future cannot be explored alone! Team up with a friend and piece together the mysteries surrounding Albert Vanderboom. Communicate what you see around you to help one another solve various puzzles and explore the worlds from different perspectives! </div> <div class="ml-4 mt-6"> The Past Within is the first <a class="underline">co-op</a> only point-and-click adventure set in the mysterious world of Rusty Lake. </div> <div class="m-4 mt-6 text-xl font-bold">Features</div> <div class="ml-4 mt-6"> <ul class="list-disc ml-6 mt-2"> <li class="font-bold">A co-op experience</li> Play together with a friend, one in The Past, the other in The Future. Work together to solve the puzzles and help Rose set her father’s plan in motion! <li class="font-bold">Two worlds - Two perspectives</li> Both players will experience their environments in two different dimensions: 2D as well as in 3D - a first-time experience in the Rusty Lake universe! <li class="font-bold">Cross-platform play</li> As long as you can communicate with each other, you and your partner of choice can each play The Past Within on your preferred platform: PC, Mac, iOS, Android and (very soon) Nintendo Switch! <li class="font-bold">Playtime & Replayability</li> The game contains 2 chapters and has an average play-time of 2 hours. For the full experience, we recommend replaying the game from the other perspective. Plus you can use our replayability feature for a fresh start with new solutions to all puzzles. </ul> </div> '),(201,"#FFFFFF","#000000","https://www.yuucn.com/wp-content/uploads/2022/11/1669231439-c95cfecc8c3eb08.png","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231578-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231586-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231594-c95cfecc8c3eb08.png"]','<div class="ml-4 mt-6">测试测试测试 </div> '),(202,"#FFFFFF","#000000","https://www.yuucn.com/wp-content/uploads/2022/11/1669231494-c95cfecc8c3eb08.png","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231578-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231586-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231594-c95cfecc8c3eb08.png"]','<div class="ml-4 mt-6">测试测试测试 </div> '),(203,"#FFFFFF","#000000","https://www.yuucn.com/wp-content/uploads/2022/11/1669231502-c95cfecc8c3eb08.png","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231578-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231586-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231594-c95cfecc8c3eb08.png"]','<div class="ml-4 mt-6">测试测试测试 </div> '),(204,"#FFFFFF","#000000","https://www.yuucn.com/wp-content/uploads/2022/11/1669231510-c95cfecc8c3eb08.png","","https://www.yuucn.com/wp-content/uploads/2022/11/1669231578-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231586-c95cfecc8c3eb08.png","https://www.yuucn.com/wp-content/uploads/2022/11/1669231594-c95cfecc8c3eb08.png"]','<div class="ml-4 mt-6">测试测试测试 </div> ');select * from posts;drop table if exists sellopts;create table sellopts(id int primary key auto_increment,days int, hours int, minutes int, discount int);insert into sellopts(id,days,hours,minutes,discount) values(1,29,8,20,24);select id,bgcolor,textcolor,headimg,videosrc,imgs,html from posts where id = 100

JS 数组方法

JavaScript Array 对象 | 菜鸟教程 (runoob.com)

Gin Query

Gin之获取querystring参数_GoGo在努力的博客-CSDN博客

Gin Session

gin-contrib/sessions: Gin middleware for session management (github.com)

gin-contrib/sessions 筆記 | PJCHENder 未整理筆記

本文链接地址:https://www.jiuchutong.com/zhishi/311660.html 转载请保留说明!

上一篇:织梦新站上线前站长必看的百度SEO网站优化教程【防黑防挂马】(织梦建站详细步骤)

下一篇:织梦dedecms文章页实现多个缩略图的方法(织梦网站怎么添加关键词)

  • 苹果手机芒果会员怎么取消自动续费(苹果手机芒果会员怎么开通)

    苹果手机芒果会员怎么取消自动续费(苹果手机芒果会员怎么开通)

  • b币兑换漫读券在哪里(b币买漫读券)

    b币兑换漫读券在哪里(b币买漫读券)

  • 华为nova7是多少倍变焦(华为nova7是多少瓦)

    华为nova7是多少倍变焦(华为nova7是多少瓦)

  • QQ怎么查看定时未发出去的说说(qq怎么查看定时的说说怎么取消)

    QQ怎么查看定时未发出去的说说(qq怎么查看定时的说说怎么取消)

  • 电脑正常关机第二天无法开机(电脑正常关机第二天后无法开机)

    电脑正常关机第二天无法开机(电脑正常关机第二天后无法开机)

  • 小红书怎么增加浏览量(小红书怎么增加流量)

    小红书怎么增加浏览量(小红书怎么增加流量)

  • 苹果手机更新系统好吗(苹果手机更新系统可以玩手机吗)

    苹果手机更新系统好吗(苹果手机更新系统可以玩手机吗)

  • 华为p20无线充电怎么打开(华为p20无线充电器怎么用?)

    华为p20无线充电怎么打开(华为p20无线充电器怎么用?)

  • 微信踢人怎么踢出去(微信踢人怎么踢出去图片)

    微信踢人怎么踢出去(微信踢人怎么踢出去图片)

  • 红米2016111是啥型号(红米 2016)

    红米2016111是啥型号(红米 2016)

  • OPPO k5支持volte吗(oppok5支持5g吗)

    OPPO k5支持volte吗(oppok5支持5g吗)

  • 阿里巴巴直播收费吗(阿里巴巴直播有效果吗)

    阿里巴巴直播收费吗(阿里巴巴直播有效果吗)

  • 荣耀手环5i什么手机都可以用吗(荣耀手环5什么价位)

    荣耀手环5i什么手机都可以用吗(荣耀手环5什么价位)

  • vivox27摄像头防水吗(vivox27摄像有防抖功能吗)

    vivox27摄像头防水吗(vivox27摄像有防抖功能吗)

  • 华为怎么设置微信美颜(华为怎么设置微信锁屏密码)

    华为怎么设置微信美颜(华为怎么设置微信锁屏密码)

  • 手机怎么制作docx(手机怎么制作docx图片文档)

    手机怎么制作docx(手机怎么制作docx图片文档)

  • 华为锁屏虚化能不能关(手机锁屏虚化怎么办)

    华为锁屏虚化能不能关(手机锁屏虚化怎么办)

  • 湘潭扫码乘车怎么使用(湘潭乘车码怎么用)

    湘潭扫码乘车怎么使用(湘潭乘车码怎么用)

  • 惠普打印机2132怎么安装(惠普打印机2132安装教程)

    惠普打印机2132怎么安装(惠普打印机2132安装教程)

  • 抖音可以自动播放下一条吗(抖音怎么下载视频到手机)

    抖音可以自动播放下一条吗(抖音怎么下载视频到手机)

  • 微信聊天静音如何取消(微信聊天静音怎么恢复声音)

    微信聊天静音如何取消(微信聊天静音怎么恢复声音)

  • 怎样取消钉钉考勤里辞职人(如何取消钉钉考勤)

    怎样取消钉钉考勤里辞职人(如何取消钉钉考勤)

  • 垂直文体怎么设置(垂直文本框怎么设置)

    垂直文体怎么设置(垂直文本框怎么设置)

  • 开机键盘灯不亮(开机键盘灯不亮屏幕没反应)

    开机键盘灯不亮(开机键盘灯不亮屏幕没反应)

  • 计算机的GUEST是什么?如何禁用GUEST账户?(guest的作用)

    计算机的GUEST是什么?如何禁用GUEST账户?(guest的作用)

  • 笔记本电池的正确使用方法(笔记本电池的正负极区分)

    笔记本电池的正确使用方法(笔记本电池的正负极区分)

  • 一般纳税人是否可以开普票
  • 个人所得税核定征收税率是多少
  • 普通发票作废要交税吗
  • 工程会计和工业会计进销项区别是什么
  • 企业支付宝买东西
  • 纳税申报表真伪验证
  • 市场推广费属于广告费用吗
  • 固定资产折旧费是产品成本的组成
  • 活动板房怎么开发票
  • 红字发票可以开部分金额吗
  • 民办非企业单位设立分机构
  • 增值税怎样报税
  • 不能确认收入的应收账款怎么做账
  • 注册资本未到位转让股权
  • 企业开办费的会计和税务处理
  • 专票上没写开户行合规吗
  • 合并利润表抵消事项包括
  • 固定资产买入
  • 食品发票可以抵扣所得税吗
  • 季度报税是哪个税种
  • 已缴契税是否可以在土地增值税扣除?
  • 餐费适用税率
  • 固定资产摊销怎么做
  • 总资产净利率与权益乘数的关系
  • macos10.15.7更新
  • windowsserver2008r2
  • 桌面右键个性化没有关联的程序
  • AquariumDesktop.exe进程危险吗 AquariumDesktop是什么进程
  • wordpress文章缩略图
  • 税后利润是股东权益吗
  • 一般纳税人出售旧设备的税率
  • 公共基础设施的英语
  • 印花税怎么计提和结转
  • php timeout
  • 供热企业有哪些
  • CodeIgniter针对数据库的连接、配置及使用方法
  • 财产清查两种制度
  • 政府基金如何开立账户
  • 计入职工福利费的有哪些
  • 微信小程序开发一个多少钱
  • php使用while循环计算1到100的和
  • 可行性研究合同印花税
  • 已经申报过增值税,清卡时显示未申报什么原因
  • 会计分录格式范本手写
  • 银行存款利息的会计科目
  • 外贸da付款方式的流程图
  • PostgreSQL中的XML操作函数代码
  • 超市的小票能入账吗
  • 纳税人具有怎样的特征?
  • 会计凭证销毁年限
  • 融资性售后回租承租方出售资产为什么不缴纳增值税
  • 高工资的工资
  • 应收账款提坏账分录
  • 我方税费差额赔偿的时效
  • 质量管理体系认证证书
  • 文化事业建设费逾期未申报怎么办
  • 进口增值税当月可以抵扣吗
  • window10总更新是怎么回事
  • 任务栏安全中心的图标没有了
  • solaris的vi编辑
  • ubuntu安装chia
  • dotnetfx35有什么用
  • 虚拟机怎样用
  • .fs是什么格式
  • win10 20h2 微软账户
  • android images
  • 我为什么要
  • node_modules复制
  • jQuery插件开发
  • android下的单元测试要配置以下说法不正确的是
  • acrag
  • jquery文档处理有哪些
  • jquery查找当前元素的父元素
  • 深圳国税局官网
  • 国家税务局查验发票显示网络异常
  • 北京增值税普通发票图片
  • 地税客服电话
  • 法制建设包括哪三个方面
  • 如何在个税app中设置企业登录密码
  • 云南省昆明市税收优惠政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设