| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413 |
- <template>
- <!-- 营销-积分商品 -->
- <div>
- <Card :bordered="false" dis-hover class="ivu-mt" :padding="0">
- <div class="new_card_pd">
- <!-- 查询条件 -->
- <Form ref="tableFrom" inline :model="tableFrom" :label-width="labelWidth"
- :label-position="labelPosition" @submit.native.prevent>
- <FormItem label="仓库:" prop="pid" label-for="pid">
- <Select v-model="tableFrom.wid" @on-change="userSearchs" clearable class="input-add">
- <Option v-for="item in data1" :value="item.id" :key="item.id">
- {{ item.title }}
- </Option>
- </Select>
- </FormItem>
- </Form>
- </div>
- </Card>
- <Card :bordered="false" dis-hover class="ivu-mt">
- <!-- 操作 -->
- <Button v-auth="['admin-erp-stocktaking_add']" type="primary" @click="add" class="mr10">添加盘点单</Button>
- <!-- 积分商品-表格 -->
- <Table :columns="columns1" :data="tableList" :loading="loading" highlight-row no-userFrom-text="暂无数据"
- no-filtered-userFrom-text="暂无筛选结果" class="ivu-mt">
- <template slot-scope="{ row, index }" slot="passageway">
- <span> {{ row.bin_number.slice(0,2) }}</span>
- </template>
- <template slot-scope="{ row, index }" slot="control">
- <span> {{ row.bin_number.slice(2,3) }}</span>
- </template>
- <template slot-scope="{ row, index }" slot="num">
- <span> {{ row.body.length }}</span>
- </template>
- <template slot-scope="{ row, index }" slot="add_time">
- <span> {{ row.add_time |formatDate }}</span>
- </template>
- <template slot-scope="{ row, index }" slot="ware">
- <div>名称:{{row.ware.title}}</div>
- <div>ID:{{row.ware.id}}</div>
- <div>手机:{{row.ware.phone}}</div>
- <div>地址:{{row.ware.detailed_address}}</div>
- </template>
- <template slot-scope="{ row, index }" slot="status">
- <Tag color="default" v-if="row.status == 0">待审核</Tag>
- <Tag color="primary" v-if="row.status == 1">通过</Tag>
- <Tag color="error" v-if="row.status == -1">拒绝</Tag>
- </template>
- <template slot-scope="{ row, index }" slot="action">
- <a @click="look(row)">详情</a>
- <template v-if="row.status == 0">
- <Divider type="vertical" />
- <a @click="pass(row)">审核</a>
- </template>
- <!-- <a @click="del(row, '删除仓位', index)">删除</a> -->
- </template>
- </Table>
- <div class="acea-row row-right page">
- <Page :total="total" :current="tableFrom.page" show-elevator show-total @on-change="pageChange"
- :page-size="tableFrom.limit" />
- </div>
- </Card>
- <Modal
- v-model="modalpass"
- scrollable
- title="审核"
- class="order_box"
- :closable="false"
- :mask-closable="false"
- >
- <Form
- ref="remarks"
- :model="remarks"
- :label-width="80"
- @submit.native.prevent
- >
- <FormItem label="审核人:">
- <Select v-model="remarks.auth_uid" clearable filterable @on-change="userSearchse"
- class="input-add">
- <Option v-for="item in authLists" :value="item.id" :key="item.id">{{ item.staff_name }}
- </Option>
- </Select>
- </FormItem>
- <FormItem label="状态:">
- <Select v-model="remarks.status" clearable filterable
- class="input-add">
- <Option :value="1" >通过</Option>
- <Option :value="-1" >拒绝</Option>
- <!-- <Option :value="2" >部分完成</Option>
- <Option :value="3" >完成</Option>
- <Option :value="-2" >无效</Option> -->
- </Select>
- </FormItem>
- <FormItem label="备注:">
- <Input
- v-model="remarks.auth_remark"
- maxlength="200"
- show-word-limit
- type="textarea"
- placeholder="请填写备注~"
- style="width: 100%"
- />
- </FormItem>
- </Form>
- <div slot="footer">
- <Button type="primary" @click="putRemark()">提交</Button>
- <Button @click="cancel()">取消</Button>
- </div>
- </Modal>
- <stocktakingDetail ref="stocktakingDetail"></stocktakingDetail>
- </div>
- </template>
- <script>
- import stocktakingDetail from './stocktakingDetail.vue'
- import {
- mapState
- } from "vuex";
- import {
- integralProductListApi,
- integralIsShowApi,
- storeSeckillApi,
- } from "@/api/marketing";
- import {
- getPositionList,
- getUserInfo,
- getInventoryList,
- getGodownList,
- getUserList,
- authInventory,
- } from "@/api/erp";
- import {
- formatDate
- } from "@/utils/validate";
- import timeOptions from "@/utils/timeOptions";
- import Setting from "@/setting";
- export default {
- name: "stocktaking",
- components: {
- stocktakingDetail
- },
- filters: {
- formatDate(time) {
- if (time !== 0) {
- let date = new Date(time * 1000);
- return formatDate(date, "yyyy-MM-dd");
- }
- },
- },
- data() {
- return {
- modalpass:false,
- authLists: [],//审核员列表
- remarks: {
- id: 0,
- status: '',
- auth_uid: "",
- auth_admin_id: "",
- auth_remark: '',
- },
- data1: [],//仓库列表
- roterPre: Setting.roterPre,
- loading: false,
- options: timeOptions,
- columns1: [{
- title: "ID",
- key: "id",
- width: 80,
- },
- {
- title: "订单编号",
- key: "order_id",
- minWidth: 90,
- },
- {
- title: "商品数量",
- slot: "num",
- minWidth: 90,
- },
- {
- title: "所属仓库",
- slot: "ware",
- minWidth: 90,
- },
- {
- title: "盘点时间",
- slot: "add_time",
- minWidth: 90,
- },
- {
- title: "状态",
- slot: "status",
- minWidth: 90,
- },
- {
- title: "备注",
- key: "auth_remark",
- minWidth: 90,
- },
- {
- title: "操作",
- slot: "action",
- fixed: "right",
- width: 200,
- },
- ],
- tableList: [],
- timeVal: [],
- grid: {
- xl: 7,
- lg: 10,
- md: 12,
- sm: 24,
- xs: 24,
- },
- tableFrom: {
- // integral_time: "",
- // is_show: "",
- // store_name: "",
- wid: '',
- key: '',
- page: 1,
- limit: 10,
- },
- total: 0,
- };
- },
- computed: {
- ...mapState("admin/layout", ["isMobile"]),
- labelWidth() {
- return this.isMobile ? undefined : 96;
- },
- labelPosition() {
- return this.isMobile ? "top" : "right";
- },
- },
- created() {
- this.getGodownList()
- this.getList();
- },
- methods: {
- look(row) {
- this.$refs.stocktakingDetail.getInfo(row.id);
- },
- putRemark() {
- authInventory(this.remarks).then(res => {
- this.cancel()
- this.getList();
- })
- },
- cancel() {
- this.remarks = {
- id:0,
- status: '',
- auth_uid: "",
- auth_admin_id: "",}
- this.modalpass = false
- },
- userSearchse(e) {
- let auth = this.authLists.find(item => item.id == e)
- this.remarks.auth_admin_id = auth.admin_id
- },
- //审核
- pass(row) {
- this.remarks.id = row.id
- getUserList({
- wid: row.wid
- }).then(res => {
- this.authLists = res.data.data
- this.modalpass = true;
- })
- },
- userSearchs(e) {
- this.tableFrom.page = 1;
- this.getList();
- },
- getGodownList() {
- getGodownList().then(res => {
- console.log(res);
- this.data1 = res.data.data
- })
- },
- // 添加
- add() {
- this.$router.push({
- path: this.roterPre + "/erp/stocktaking_add?id=0"
- });
- },
- addMore() {
- this.$router.push({
- path: this.roterPre + "/marketing/store_integral/add_store_integral",
- });
- },
- orderList(row) {
- this.$router.push({
- path: this.roterPre + "/marketing/store_integral/order_list",
- query: {
- product_id: row.id,
- },
- });
- },
- // 导出
- exports() {
- let formValidate = this.tableFrom;
- let data = {
- start_status: formValidate.start_status,
- status: formValidate.status,
- store_name: formValidate.store_name,
- };
- storeSeckillApi(data)
- .then((res) => {
- location.href = res.data[0];
- })
- .catch((res) => {
- this.$Message.error(res.msg);
- });
- },
- // 编辑
- edit(row) {
- this.$router.push({
- path: this.roterPre + "/erp/add_position?id=" + row.id
- });
- },
- // 一键复制
- copy(row) {
- this.$router.push({
- path: this.roterPre + "/marketing/store_integral/create/" + row.id + "/1",
- });
- },
- // 删除
- del(row, tit, num) {
- let delfromData = {
- title: tit,
- num: num,
- url: `/erp/Warehouse/position_del/${row.id}`,
- method: "DELETE",
- ids: "",
- };
- this.$modalSure(delfromData)
- .then((res) => {
- this.$Message.success(res.msg);
- this.tableList.splice(num, 1);
- if (!this.tableList.length) {
- this.tableFrom.page =
- this.tableFrom.page == 1 ? 1 : this.tableFrom.page - 1;
- }
- this.getList();
- })
- .catch((res) => {
- this.$Message.error(res.msg);
- });
- },
- // 列表
- getList() {
- this.loading = true;
- // this.tableFrom.start_status = this.tableFrom.start_status || "";
- // this.tableFrom.is_show = this.tableFrom.is_show || "";
- getInventoryList(this.tableFrom)
- .then(async (res) => {
- let data = res.data;
- this.tableList = data.data;
- this.total = data.count;
- this.loading = false;
- })
- .catch((res) => {
- this.loading = false;
- this.$Message.error(res.msg);
- });
- },
- pageChange(index) {
- this.tableFrom.page = index;
- this.getList();
- },
- // 表格搜索
- tableSearchs() {
- this.tableFrom.page = 1;
- this.getList();
- },
- // 具体日期
- onchangeTime(e) {
- this.timeVal = e;
- this.tableFrom.integral_time = this.timeVal[0] ? this.timeVal.join("-") : "";
- },
- // 修改是否显示
- onchangeIsShow(row) {
- let data = {
- id: row.id,
- is_show: row.is_show,
- };
- integralIsShowApi(data)
- .then(async (res) => {
- this.$Message.success(res.msg);
- })
- .catch((res) => {
- this.$Message.error(res.msg);
- });
- },
- },
- };
- </script>
- <style scoped lang="stylus">
- .tabBox_img {
- width: 36px;
- height: 36px;
- border-radius: 4px;
- cursor: pointer;
- img {
- width: 100%;
- height: 100%;
- }
- }
- </style>
|