diff --git a/src/views/product/stock/index.vue b/src/views/product/stock/index.vue
index 01b82a3..5112874 100644
--- a/src/views/product/stock/index.vue
+++ b/src/views/product/stock/index.vue
@@ -4,10 +4,13 @@ import {
loadStockList,
loadStockLogList,
} from "@/api/product/stock";
-import {computed, reactive, ref, toRefs} from "vue";
-import {dayjs} from "element-plus";
+import modal from "@/plugins/modal";
+import { computed, reactive, ref, toRefs } from "vue";
+import { dayjs } from "element-plus";
import ImagePreview from "@/components/ImagePreview/index.vue";
-import {Table as ATable} from "ant-design-vue";
+import { Table as ATable } from "ant-design-vue";
+import { download } from "@/utils/request";
+import { getToken } from "@/utils/auth";
const queryRef = ref();
const showSearch = ref(false);
@@ -18,8 +21,9 @@ const data = reactive({
type: 1,
},
});
+
const total = ref(0);
-const {queryParams} = toRefs(data);
+const { queryParams } = toRefs(data);
const expandedRowKeys = ref([]);
const columns = [
{
@@ -32,6 +36,11 @@ const columns = [
dataIndex: "modelName",
key: "modelName",
},
+ {
+ title: "产品编号",
+ dataIndex: "serialNumber",
+ key: "serialNumber",
+ },
{
title: "库存",
dataIndex: "stock",
@@ -57,12 +66,13 @@ const columns = [
const columnsFilter = computed(() => {
if (queryParams.value.type === 0) {
return columns.filter(
- ({dataIndex}) => !["total", "provePic", "date"].includes(dataIndex)
+ ({ dataIndex }) =>
+ !["total", "provePic", "date", "serialNumber"].includes(dataIndex)
);
} else if (queryParams.value.type === 1) {
- return columns.filter(({dataIndex}) => !["stock"].includes(dataIndex));
+ return columns.filter(({ dataIndex }) => !["stock"].includes(dataIndex));
} else if (queryParams.value.type === 2) {
- return columns.filter(({dataIndex}) => !["stock"].includes(dataIndex));
+ return columns.filter(({ dataIndex }) => !["stock"].includes(dataIndex));
} else {
return columns;
}
@@ -76,7 +86,6 @@ const getStockList = () => {
stockLogList.value = resp.rows.map((el) => ({
...el,
key: el.modelId,
- children: [],
}));
});
} else {
@@ -85,7 +94,6 @@ const getStockList = () => {
stockLogList.value = resp.rows.map((el) => ({
...el,
key: el.logId,
- children: [],
}));
});
}
@@ -104,14 +112,14 @@ function resetQuery() {
const loadChildren = (row) => {
if (queryParams.value.type === 0) {
- loadProductSerialList({modelId: row.modelId, type: '1'}).then((resp) => {
+ loadProductSerialList({ modelId: row.modelId, type: "1" }).then((resp) => {
row.series = resp.data.map((el) => ({
...el,
key: el.serialId,
}));
});
} else if (queryParams.value.type === 1 || queryParams.value.type === 2) {
- loadProductSerialList({logId: row.logId}).then((resp) => {
+ loadProductSerialList({ logId: row.logId }).then((resp) => {
row.series = resp.data.map((el) => ({
...el,
key: el.serialId,
@@ -123,28 +131,86 @@ const loadChildren = (row) => {
const handleExpandTable = (expanded, record) => {
expanded && loadChildren(record);
};
+
+const uploadRef = ref();
+/*** 用户导入参数 */
+const upload = reactive({
+ // 是否显示弹出层(用户导入)
+ open: false,
+ // 弹出层标题(用户导入)
+ title: "",
+ // 是否禁用上传
+ isUploading: false,
+ // 是否更新已经存在的用户数据
+ updateSupport: 0,
+ // 设置上传的请求头部
+ headers: { Authorization: "Bearer " + getToken() },
+ // 上传的地址
+ url: import.meta.env.VITE_APP_BASE_API + "/product/stocklog/importData",
+});
+
+/** 导入按钮操作 */
+function handleImport() {
+ upload.title = "入库记录导入";
+ upload.open = true;
+}
+
+/** 下载模板操作 */
+function importTemplate() {
+ download(
+ "/product/stocklog/importTemplate",
+ {},
+ `user_template_${new Date().getTime()}.xlsx`
+ );
+}
+
+/**文件上传中处理 */
+const handleFileUploadProgress = (event, file, fileList) => {
+ upload.isUploading = true;
+};
+
+/** 文件上传成功处理 */
+const handleFileSuccess = (response, file, fileList) => {
+ upload.open = false;
+ upload.isUploading = false;
+ uploadRef.value.handleRemove(file);
+ modal.alert(
+ "
" +
+ response.msg +
+ "
",
+ "导入结果",
+ { dangerouslyUseHTMLString: true }
+ );
+ getStockList();
+};
+
+/** 提交上传文件 */
+function submitFileForm() {
+ uploadRef.value.submit();
+}
+
getStockList();
-
-
-
+
+
+
搜索
+ >搜索
重置
@@ -158,39 +224,44 @@ getStockList();
-
+
添加入库
+
+ Excel导入
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -226,12 +297,68 @@ getStockList();
+
+
+
+
+
+
+
+ 将文件拖到此处,或点击上传
+
+
+
+
+ -
+ 仅允许导入xls、xlsx格式文件。
+ 下载模板
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/sales/contract/index.vue b/src/views/sales/contract/index.vue
index 371cf0e..92eee15 100644
--- a/src/views/sales/contract/index.vue
+++ b/src/views/sales/contract/index.vue
@@ -1,43 +1,42 @@
搜索
-
+ >搜索
+
重置
@@ -45,133 +44,128 @@
新增
-
+ type="primary"
+ plain
+ icon="Plus"
+ @click="handleAdd"
+ v-hasPermi="['sales:contract:add']"
+ >新增
+
修改
-
+ type="success"
+ plain
+ icon="Edit"
+ :disabled="single"
+ @click="handleUpdate"
+ v-hasPermi="['sales:contract:edit']"
+ >修改
+
删除
-
+ type="danger"
+ plain
+ icon="Delete"
+ :disabled="multiple"
+ @click="handleDelete"
+ v-hasPermi="['sales:contract:remove']"
+ >删除
+
-
-
-
-
-
+
+
+
+
+
{{ row.date }}
-
+
{{ row.createTime }}
修改
-
+ link
+ type="primary"
+ icon="Edit"
+ @click="handleUpdate(scope.row)"
+ v-hasPermi="['sales:contract:edit']"
+ >修改
+
删除
-
+ link
+ type="primary"
+ icon="Delete"
+ @click="handleDelete(scope.row)"
+ v-hasPermi="['sales:contract:remove']"
+ >删除
+
-
+
-
+
-
+
-
+
@@ -195,7 +189,7 @@ import {
updateContract,
} from "@/api/sales/contract";
-const {proxy} = getCurrentInstance();
+const { proxy } = getCurrentInstance();
const contractList = ref([]);
const open = ref(false);
@@ -222,22 +216,22 @@ const data = reactive({
createUser: null,
},
rules: {
- contractId: [{required: true, message: "不能为空", trigger: "blur"}],
- location: [{required: true, message: "地点不能为空", trigger: "blur"}],
- customer: [{required: true, message: "客户不能为空", trigger: "blur"}],
- amount: [{required: true, message: "总额不能为空", trigger: "blur"}],
- taxPoint: [{required: true, message: "税点不能为空", trigger: "blur"}],
- date: [{required: true, message: "时间不能为空", trigger: "blur"}],
+ contractId: [{ required: true, message: "不能为空", trigger: "blur" }],
+ location: [{ required: true, message: "地点不能为空", trigger: "blur" }],
+ customer: [{ required: true, message: "客户不能为空", trigger: "blur" }],
+ amount: [{ required: true, message: "总额不能为空", trigger: "blur" }],
+ taxPoint: [{ required: true, message: "税点不能为空", trigger: "blur" }],
+ date: [{ required: true, message: "时间不能为空", trigger: "blur" }],
createDate: [
- {required: true, message: "创建时间不能为空", trigger: "blur"},
+ { required: true, message: "创建时间不能为空", trigger: "blur" },
],
createUser: [
- {required: true, message: "创建人不能为空", trigger: "blur"},
+ { required: true, message: "创建人不能为空", trigger: "blur" },
],
},
});
-const {queryParams, form, rules} = toRefs(data);
+const { queryParams, form, rules } = toRefs(data);
/** 查询contract列表 */
function getList() {
@@ -331,16 +325,15 @@ function submitForm() {
function handleDelete(row) {
const _contractIds = row.contractId || ids.value;
proxy.$modal
- .confirm('是否确认删除contract编号为"' + _contractIds + '"的数据项?')
- .then(function () {
- return delContract(_contractIds);
- })
- .then(() => {
- getList();
- proxy.$modal.msgSuccess("删除成功");
- })
- .catch(() => {
- });
+ .confirm('是否确认删除contract编号为"' + _contractIds + '"的数据项?')
+ .then(function () {
+ return delContract(_contractIds);
+ })
+ .then(() => {
+ getList();
+ proxy.$modal.msgSuccess("删除成功");
+ })
+ .catch(() => {});
}
getList();
diff --git a/src/views/sales/team/index.vue b/src/views/sales/team/index.vue
index 49b5813..92d9608 100644
--- a/src/views/sales/team/index.vue
+++ b/src/views/sales/team/index.vue
@@ -1,287 +1,26 @@
+
+
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
-
- 修改
-
-
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
- 添加销售
- 添加主管
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
销售团队
+
销售人员
+
+
-
+
diff --git a/src/views/sales/team/person.vue b/src/views/sales/team/person.vue
new file mode 100644
index 0000000..fdf1a10
--- /dev/null
+++ b/src/views/sales/team/person.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+ 搜索
+
+ 重置
+
+
+
+
+ 新增销售人员
+
+
+
+
+
+
+
+
+
diff --git a/src/views/sales/team/team.vue b/src/views/sales/team/team.vue
new file mode 100644
index 0000000..5220b4c
--- /dev/null
+++ b/src/views/sales/team/team.vue
@@ -0,0 +1,326 @@
+
+
+
+
+
+
+ 搜索
+
+ 重置
+
+
+
+
+
+ 新增
+
+
+
+ 修改
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加销售
+ 设置主管
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+