|
@@ -16,10 +16,16 @@
|
|
|
<el-select
|
|
|
v-model="selectOrderCode"
|
|
|
value-key="orderNo"
|
|
|
- placeholder="请选择订单信息"
|
|
|
+ placeholder="请输入关键词搜索订单"
|
|
|
style="width: 100%"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ :remote-method="remoteOrderSearch"
|
|
|
+ :loading="orderLoading"
|
|
|
+ clearable
|
|
|
@change="orderSelect"
|
|
|
>
|
|
|
+
|
|
|
<el-option
|
|
|
v-for="item in orders"
|
|
|
:key="item.orderNo"
|
|
@@ -33,20 +39,24 @@
|
|
|
<div>{{ selectedOrder.workOrderCode }}</div>
|
|
|
</el-form-item>-->
|
|
|
<el-form-item label="流转卡号" prop="seqs">
|
|
|
- <el-select
|
|
|
- v-model="saleForm.seqs"
|
|
|
- value-key="orderCode"
|
|
|
- placeholder="请选择流转卡号"
|
|
|
- style="width: 100%"
|
|
|
- multiple
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in seqList"
|
|
|
- :key="item.label"
|
|
|
- :label="item.label"
|
|
|
- :value="item.label"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
+ <!-- <el-select-->
|
|
|
+ <!-- v-model="saleForm.seqs"-->
|
|
|
+ <!-- value-key="orderCode"-->
|
|
|
+ <!-- placeholder="请选择流转卡号"-->
|
|
|
+ <!-- style="width: 100%"-->
|
|
|
+ <!-- multiple-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- <el-option-->
|
|
|
+ <!-- v-for="item in seqList"-->
|
|
|
+ <!-- :key="item.label"-->
|
|
|
+ <!-- :label="item.label"-->
|
|
|
+ <!-- :value="item.label"-->
|
|
|
+ <!-- />-->
|
|
|
+ <!-- </el-select>-->
|
|
|
+ <el-input v-model="saleForm.seqs"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="数量" prop="seqNum">
|
|
|
+ <el-input type="number" v-model="saleForm.seqNum"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="产品分类" prop="type">
|
|
|
<el-select
|
|
@@ -118,6 +128,7 @@
|
|
|
format="YYYY年MM月DD日"
|
|
|
value-format="YYYY年MM月DD日"
|
|
|
style="width: 100%"
|
|
|
+ @change="updateFormHappenTime"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -156,6 +167,7 @@
|
|
|
v-model="remark1.user1"
|
|
|
:data="userList"
|
|
|
filterable
|
|
|
+ multiple
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="日期" prop="time">
|
|
@@ -174,6 +186,7 @@
|
|
|
v-model="remark1.nextRemarkUser"
|
|
|
:data="userList"
|
|
|
filterable
|
|
|
+ multiple
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -219,7 +232,7 @@ const saleForm = reactive({
|
|
|
contacts: "",
|
|
|
phoneNo: "",
|
|
|
stage: "",
|
|
|
- seqs: [],
|
|
|
+ seqs: "",
|
|
|
});
|
|
|
// 顾客投诉或建议
|
|
|
const remark1Ref = ref(null);
|
|
@@ -233,20 +246,10 @@ const remark1 = reactive({
|
|
|
|
|
|
const rules = {
|
|
|
type: [{ required: true, message: "请选择产品分类", trigger: "blur" }],
|
|
|
- componentName: [
|
|
|
- { required: true, message: "请输入器件名称及型号", trigger: "blur" },
|
|
|
- ],
|
|
|
- num: [{ required: true, message: "请输入数量", trigger: "blur" }],
|
|
|
auditType: [{ required: true, message: "请选择审核类型", trigger: "blur" }],
|
|
|
seqs: [{ required: true, message: "请选择订单信息", trigger: "change" }],
|
|
|
- checkProduceNo: [
|
|
|
- { required: true, message: "请输入检验批号或生产批号", trigger: "change" },
|
|
|
- ],
|
|
|
level: [{ required: true, message: "请选择审理级别", trigger: "change" }],
|
|
|
- company: [{ required: true, message: "请输入供方单位", trigger: "change" }],
|
|
|
- happenTime: [
|
|
|
- { required: true, message: "请选择发生时间", trigger: "change" },
|
|
|
- ],
|
|
|
+ happenTime: [{required: true, message: "请选择发生时间", trigger: "change"}],
|
|
|
stage: [{ required: true, message: "请输入发生阶段", trigger: "change" }],
|
|
|
};
|
|
|
const rules1 = {
|
|
@@ -265,35 +268,77 @@ const rules1 = {
|
|
|
user1: [{ required: true, message: "检验人员不能为空", trigger: "blur" }],
|
|
|
time: [{ required: true, message: "请选择日期", trigger: "change" }],
|
|
|
nextRemarkUser: [
|
|
|
- { required: true, message: "请选择处理人", trigger: "change" },
|
|
|
- { min: 2, max: 20, message: "长度在 2 到 20 个字符", trigger: "blur" },
|
|
|
+ {required: true, message: "请选择处理人", trigger: "blur"},
|
|
|
+ // { min: 2, max: 20, message: "长度在 2 到 20 个字符", trigger: "blur" },
|
|
|
],
|
|
|
};
|
|
|
|
|
|
// 订单相关信息
|
|
|
-const orders = ref([]);
|
|
|
const opOptions = ref([...dicts.spc_operation]);
|
|
|
const typeList = dicts.sales_info_type;
|
|
|
+const allOrders = ref([]);
|
|
|
+// 订单相关信息
|
|
|
+const orders = ref([]);
|
|
|
const selectedOrder = ref({});
|
|
|
-const selectOrderCode = ref("");
|
|
|
-const getOrders = async () => {
|
|
|
- const res = await getOrderList({
|
|
|
- pageNo: 0,
|
|
|
- pageSize: 200,
|
|
|
+const orderLoading = ref(false); // 注意这里要改为ref
|
|
|
+const selectOrderCode = ref(null); // 初始化为null
|
|
|
+const searchQuery = ref('') // 使用ref创建的响应式变量
|
|
|
+// 远程搜索方法 - 调用后台API
|
|
|
+// 远程搜索方法(调用后端API)
|
|
|
+const remoteOrderSearch = async (query) => {
|
|
|
+ searchQuery.value = query;
|
|
|
+ if (query === '') {
|
|
|
+ // 如果搜索词为空,显示初始列表
|
|
|
+ await getOrders();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ orderLoading.value = true;
|
|
|
+ try {
|
|
|
+ const res = await getOrderList({
|
|
|
+ pageNo: 0,
|
|
|
+ pageSize: 15,
|
|
|
+ orderNo: query,
|
|
|
+ });
|
|
|
+ orders.value = res.data.records || [];
|
|
|
+ } catch (error) {
|
|
|
+ console.error('搜索订单失败:', error);
|
|
|
+ orders.value = [];
|
|
|
+ } finally {
|
|
|
+ orderLoading.value = false;
|
|
|
+ }
|
|
|
+};
|
|
|
+const updateFormHappenTime = (newValue) => {
|
|
|
+
|
|
|
+ saleForm.happenTime = newValue.replace(/年|月|日/g, match => {
|
|
|
+ return {'年': '-', '月': '-', '日': ''}[match];
|
|
|
});
|
|
|
- orders.value = res.data.records;
|
|
|
- if (orders.value.length > 0) {
|
|
|
- // selectOrderCode.value = orders.value[0].orderCode;
|
|
|
- // selectedOrder.value = orders.value[0];
|
|
|
+ console.log(saleForm.happenTime, "dsdfds")
|
|
|
+
|
|
|
+};
|
|
|
+const getOrders = async () => {
|
|
|
+ orderLoading.value = true;
|
|
|
+ try {
|
|
|
+ const res = await getOrderList({
|
|
|
+ pageNo: 0,
|
|
|
+ pageSize: 15,
|
|
|
+ });
|
|
|
+ orders.value = res.data.records || [];
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取订单列表失败:', error);
|
|
|
+ orders.value = [];
|
|
|
+ } finally {
|
|
|
+ orderLoading.value = false;
|
|
|
}
|
|
|
};
|
|
|
const orderSelect = (value) => {
|
|
|
+ console.log(value);
|
|
|
selectedOrder.value = value;
|
|
|
- seqList.value = selectedOrder.value.seqs.map((item, index) => ({
|
|
|
- value: item,
|
|
|
- label: item,
|
|
|
- }));
|
|
|
- saleForm.seqs = [];
|
|
|
+ // seqList.value = selectedOrder.value.seqs.map((item, index) => ({
|
|
|
+ // value: item,
|
|
|
+ // label: item,
|
|
|
+ // }));
|
|
|
+ saleForm.seqs = "";
|
|
|
};
|
|
|
|
|
|
const seqList = ref([]);
|
|
@@ -332,9 +377,9 @@ const cancelClick = () => {
|
|
|
const feedBackEmit = defineEmits(["finish"]);
|
|
|
|
|
|
const confirmClick = () => {
|
|
|
- console.log(saleForm);
|
|
|
- console.log(remark1);
|
|
|
- console.log(selectedOrder.value);
|
|
|
+ console.log(saleForm, "11");
|
|
|
+ console.log(remark1, 22);
|
|
|
+ console.log(selectedOrder.value, 55);
|
|
|
|
|
|
// drawerVisible.value = false;
|
|
|
|
|
@@ -353,7 +398,7 @@ const confirmClick = () => {
|
|
|
let remark1Copy = {
|
|
|
content: remark1.content,
|
|
|
user: remark1.user,
|
|
|
- user1: remark1.user1,
|
|
|
+ user1: remark1.user1.join(","),
|
|
|
time: remark1.time,
|
|
|
};
|
|
|
let remark2 = {
|
|
@@ -365,12 +410,11 @@ const confirmClick = () => {
|
|
|
let p = {
|
|
|
...saleForm,
|
|
|
...selectedOrder.value,
|
|
|
- currentUserName: remark1.nextRemarkUser,
|
|
|
+ currentUserName: remark1.nextRemarkUser.join(","),
|
|
|
remark1: JSON.stringify(remark1Copy),
|
|
|
remark2: JSON.stringify(remark2),
|
|
|
};
|
|
|
-
|
|
|
- p.seqs = saleForm.seqs.join(",");
|
|
|
+ p.seqs = saleForm.seqs;
|
|
|
|
|
|
addFeedback(p).then(() => {
|
|
|
feedBackEmit("finish");
|